package data;

import java.util.Collection;
import java.util.Date;

import core.Transaction;
import core.TransactionDirection;

public interface IDataProvider
{
	String getProfileName();
	void renameProfile(String newName);
	
	void addTransaction(Transaction t);
	void transactionEdited(Transaction t);
	void deleteTransaction(Transaction t);
	Collection<Transaction> getTransactions(IFilter<Transaction> filter);
	Collection<Transaction> getTransactions(Collection<IFilter<Transaction>> filters);
	
	Collection<String> getUsedTypes(TransactionDirection direction);
	Collection<String> getUsedTypes(TransactionDirection direction, Date from);
}
